// import com.alibaba.druid.sql.ast.SQLExpr;
// import com.alibaba.druid.sql.dialect.mysql.visitor.MySqlASTVisitor;

#include "MySqlSetTransactionStatement.h"
#include "../../../../ast/SQLExpr.h"
#include "../../visitor/MySqlASTVisitor.h"

void MySqlSetTransactionStatement::accept0(MySqlASTVisitor_ptr visitor)
{
  visitor->visit(SharedObject(MySqlSetTransactionStatement));
  visitor->endVisit(SharedObject(MySqlSetTransactionStatement));
}

BOOL_ptr MySqlSetTransactionStatement::getGlobal()
{
  return global;
}

void MySqlSetTransactionStatement::setGlobal(BOOL_ptr global)
{
  this->global = global;
}

string_ptr MySqlSetTransactionStatement::getIsolationLevel()
{
  return isolationLevel;
}

void MySqlSetTransactionStatement::setIsolationLevel(string_ptr isolationLevel)
{
  this->isolationLevel = isolationLevel;
}

string_ptr MySqlSetTransactionStatement::getAccessModel()
{
  return accessModel;
}

void MySqlSetTransactionStatement::setAccessModel(string_ptr accessModel)
{
  this->accessModel = accessModel;
}

BOOL_ptr MySqlSetTransactionStatement::getSession()
{
  return session;
}

void MySqlSetTransactionStatement::setSession(BOOL_ptr session)
{
  this->session = session;
}

BOOL_ptr MySqlSetTransactionStatement::isLocal()
{
  return local;
}

void MySqlSetTransactionStatement::setLocal(BOOL_ptr local)
{
  this->local = local;
}

SQLExpr_ptr MySqlSetTransactionStatement::getPolicy()
{
  return policy;
}

void MySqlSetTransactionStatement::setPolicy(SQLExpr_ptr x)
{
  if (x != nullptr)
  {
    x->setParent(SharedObject(MySqlSetTransactionStatement));
  }
  this->policy = x;
}
